#pragma one

//基类：
// 1. virtual定义的虚函数，在子类中实现；
class Animal {
public:
    Animal(); //1. 构造函数
    virtual void eat(int) = 0;  //virtual
    virtual void sleep();
    virtual ~Animal();
};

//纯虚函数与虚函数的区别
// 1. 基类不允许实现纯虚函数
// 2. 子类只有实现了纯虚函数才能被创建对象
// 3. 写法上的区别：纯虚函数u要在虚函数的后面添加=0
